import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import 'draw_right_widget.dart';

///自定义抽屉篮
///leading	在标题前面显示的一个控件，在首页通常显示应用的 logo或菜单； 在其他界面通常显示为返回按钮

/// automaticallyImplyLeading  默认true  leading为null，并且堆栈中存在页面，则自动推导为BackButton。 leading不为null，则此参数无效 为false时不会推导，使中间/标题拉伸
/// title	标题，通常显示为当前界面的标题文字，可以放组件
/// actions	通常使用 IconButton 来表示，可以放按钮组
/// flexibleSpace	可伸展、折叠部件
/// bottom	通常放 tabBar，标题下面显示一个 Tab 导航栏
/// elevation	阴影高度
/// shape	形状
/// backgroundColor	导航背景颜色
/// brightness	亮度
/// iconTheme	图标样式
/// actionsIconTheme	actions样式
/// textTheme	文字样式
/// primary	默认true
/// centerTitle	标题是否居中显示
/// titleSpacing	默认NavigationToolbar.kMiddleSpacing
/// toolbarOpacity	应用工具栏透明度
/// bottomOpacity	应用栏底部透明度
/// 下表面对bottom做简单介绍
/// bottom 通常放 tabBar，标题下面显示一个 Tab 导航栏
///Scaffold外层为DefaultTabController组件（嵌套），有三个属性length（TabBar个数）、initialIndex（默认显示tabbar下标）、child（子组件）。
class DrawerWidget extends StatefulWidget {
  final String ?text;

  DrawerWidget({this.text});

  @override
  State<StatefulWidget> createState() {
    return _DrawerState();
  }
}

class _DrawerState extends State<DrawerWidget> {
  final GlobalKey<ScaffoldState> key = GlobalKey();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: key,
      drawer: Drawer(
        child: Container(
          color: Colors.blue,
          child: Text(
            "左侧菜单",
            style: TextStyle(fontSize: 20),
          ),
        ),
      ),
      endDrawer: DrawRightWidget(),
      // Drawer(
      //   child: Container(
      //     color: Colors.deepOrange,
      //     child: Text(
      //       "右侧侧菜单",
      //       style: TextStyle(fontSize: 20),
      //     ),
      //   ),
      // ),
      appBar: AppBar(
        elevation: 10,
        shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
        backgroundColor: Colors.red,

        ///不要左侧菜单的图标
        automaticallyImplyLeading: false,
        // title: DrawAppBar(),
        title: Text(widget.text??""),

        ///右侧菜单不显示
        actions: [TextButton(onPressed: () {}, child: Text(""))],
      ),
      body: Center(
        child: Column(
          children: [
            TextButton(
                child: Text("左侧菜单"),
                onPressed: () => {
                      if (!key.currentState!.isDrawerOpen)
                        {key.currentState?.openDrawer()}
                      else
                        {Navigator.of(context).pop()}
                    }),
            SizedBox(
              height: 20,
            ),
            TextButton(
                child: Text("点击弹出右侧侧菜单"),
                onPressed: () => {
                      if (!key.currentState!.isEndDrawerOpen)
                        {key.currentState?.openEndDrawer()}
                      else
                        {Navigator.of(context).pop()}
                    }),
            SizedBox(
              height: 20,
            ),
            TextButton(
              child: Text('返回',style: TextStyle(color: Colors.white),),
              onPressed: () {
                Navigator.pop(context);
              },
            ),
          ],
        ),
      ),
    );
  }
}
